package dao;

/**
 * @author dorina-sabine.bernhardt@stud.hdu-deggendorf.de Letzte Aenderung:
 *         06.05.12 SB Klassenimplementierung
 */

public class DaoException extends Exception {
	private static final long serialVersionUID = -8536780914680532570L;

	/*
	 * Jedes Mal, wenn ein Objekt serialisiert wird, wird das Objekt mit einer
	 * Versionssnummer fuer die Klasse des Objekts "gestempelt". Diese Nr. bzw.
	 * ID bezeichneet man als serialVersionUID (unique identifer - eindeutige
	 * Identifikationsnr.); sie wird auf der Basis von Informationen ueber die
	 * Klassenstruktur berechnet. Wenn ein Objekt deseralisiert wird u. sich die
	 * Klasse seit seiner Serialisierung geändert hat, koennte die Klass eine
	 * andere serialVersionUID haben, u. dann schlaegt die Deserialisierung
	 * fehl!
	 * 
	 * Wenn Jave ein Objekt zu deserialisieren versucht, vergleich es die
	 * serialVersionUID des serialsierten Objekts mit der der Klasse, die von
	 * der JVM zur Deseralisierung dieses Objekts verwendet wird. Wurde bzw.
	 * eine Hund-Instanz mit einer ID z.B. 23 seralisiert, vergleicht die JVM
	 * bei der Deseralisierung als Erstes die serialVersionUID des Hund-Objekts
	 * mit der der Hund-Klasse. Wenn die beiden Zahlen nicht uebereinstimmen,
	 * geht die JVM davon aus, dass die Klasse nicht mit dem zu einem frueheren
	 * Zeitpunkt serialisierten Objekt kompartibel ist, u. man erhaelt waehrend
	 * der Deseralisierung eine Exception.
	 * 
	 * Loesung ist, eine feste serialVersionUID in der Klasse zu schreiben. Wenn
	 * sich die Klasse weiterentwickelt, bei die serialVersionUID gleich, u. JVM
	 * sagt: "Die Klasse ist mit diesem serialisierten Objekt kompartibel -
	 * obwohl sich die Klasse in Wirklichkeit doch geaendert hat.
	 */

	public DaoException(String message) {
		super(message);
	}
}
